package gui;

import javax.faces.bean.ManagedBean;

import negocio.Fachada;
import basicas.organizacionais.Setor;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

@ManagedBean // @ManagedBean(name=�msg�)
public class SetorBean {

    private String retornoHtml = "";
    private Setor setor;
    private List<Setor> listSetor;
    private int codigoBusca;

    public SetorBean() {

        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        String codigoSetor = request.getParameter("csetor");

        if (codigoSetor != null) {
            int codigo = Integer.parseInt(codigoSetor);
            setor = Fachada.getInstancia().getSetorByCodigo(codigo);
        } else {
            setor = new Setor();
        }
    }

    public void inserir() {
        Fachada fachada = Fachada.getInstancia();
        try {
            fachada.inserirSetor(setor);            
            retornoHtml = FuncoesStaticBean.mostraSucesso();
            setor = null;
        } catch (Exception e) {
            retornoHtml = FuncoesStaticBean.mostraErro();
        }
    }

    public void alterar() {
        try {
            Fachada.getInstancia().alterarSetor(setor);
            retornoHtml = FuncoesStaticBean.mostraSucesso();
        } catch (Exception e) {
            retornoHtml = FuncoesStaticBean.mostraErro();
        }
    }

    public void remover(Setor setor) {
        try {
            Fachada.getInstancia().removerSetor(setor);
            retornoHtml = FuncoesStaticBean.mostraSucesso();
        } catch (Exception e) {
            retornoHtml = FuncoesStaticBean.mostraErro();
        }
    }

    public String alterarSetor(int csetor) {
        return "alterarsetor.xhml?faces-redirect=true&csetor=" + csetor;
    }

    public void buscar(){
        setor = Fachada.getInstancia().getSetorByCodigo(codigoBusca);
    }

    public List<Setor> getListSetor() {
        Fachada fachada = Fachada.getInstancia();
        listSetor = fachada.listarSetores();
        return listSetor;
    }

    public Setor getSetor() {
        return setor;
    }

    public void setSetor(Setor setor) {
        this.setor = setor;
    }

    public String getRetornoHtml() {
        return retornoHtml;
    }

    public void setRetornoHtml(String retornoHtml) {
        this.retornoHtml = retornoHtml;
    }

    public int getCodigoBusca() {
        return codigoBusca;
    }

    public void setCodigoBusca(int codigoBusca) {
        this.codigoBusca = codigoBusca;
    }
   
}
